package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.UserNotification;
import com.ruoyi.system.domain.vo.UserNotificationUnReadVo;

/**
 * 用户通知表Service接口
 * 
 * @author xudengyu
 * @date 2025-03-09
 */
public interface IUserNotificationService 
{
    /**
     * 查询用户通知表
     * 
     * @param userNotificationId 用户通知表主键
     * @return 用户通知表
     */
    public UserNotification selectUserNotificationByUserNotificationId(Long userNotificationId);

    /**
     * 查询用户通知表列表
     * 
     * @param userNotification 用户通知表
     * @return 用户通知表集合
     */
    public List<UserNotification> selectUserNotificationList(UserNotification userNotification);

    /**
     * 新增用户通知表
     * 
     * @param userNotification 用户通知表
     * @return 结果
     */
    public int insertUserNotification(UserNotification userNotification);

    /**
     * 修改用户通知表
     * 
     * @param userNotification 用户通知表
     * @return 结果
     */
    public int updateUserNotification(UserNotification userNotification);

    /**
     * 批量删除用户通知表
     * 
     * @param userNotificationIds 需要删除的用户通知表主键集合
     * @return 结果
     */
    public int deleteUserNotificationByUserNotificationIds(Long[] userNotificationIds);

    /**
     * 删除用户通知表信息
     * 
     * @param userNotificationId 用户通知表主键
     * @return 结果
     */
    public int deleteUserNotificationByUserNotificationId(Long userNotificationId);

    /**
     获取当前用户未读通知
     * @param userId 当前登录用户主键
     * @return list
     */
    List<UserNotificationUnReadVo> getUnread(Long userId);
}
